using TXLooker.Common.Core;
using TXLooker.Common.EventHandling;

namespace TXLooker.Common.Extentions
{
    /// <summary>
    /// 
    /// </summary>
    public interface IExtentionEntryPoint
    {
        /// <summary>
        /// Extention Name
        /// </summary>
        string Name { get; }

        /// <summary>
        /// Entry Point for Extention Start Up
        /// </summary>
        void StartUp( IExtentionDataProvider dataProvider );

        /// <summary>
        /// 
        /// </summary>
        void ShutDown();

        /// <summary>
        /// 
        /// </summary>
        EventSink EventSink { get; set; }
    }
}
